With the advent of digital communications technology, many TV program streams are transmitted in digital formats. For example, Digital Satellite System (DSS), Digital Broadcast Services (DBS), and Advanced Television Standards Committee (ATSC) program streams are digitally formatted pursuant to the well known Moving Pictures Experts Group 2 (MPEG-2) standard. The MPEG-2 standard specifies, among others, the methodologies for video and audio data compressions which allow multiple programs, with different video and audio feeds, multiplexed in a transport stream traversing a single transmission channel. A digital TV receiver may be used to decode an MPEG-2 encoded transport stream, and extract the desired program therefrom.
MPEG-2 Background
In accordance with the MPEG-2 standard, video data may be compressed based on a sequence of groups of pictures (GOPs), made up of three types of picture frames—intra-coded picture frames (“I-frames”), forward predictive frames (“P-frames”) and bilinear frames (“B-frames”). Each GOP may, for example, begin with an I-frame which is obtained by spatially compressing a complete picture using discrete cosine transform (DCT). As a result, if an error or a channel switch occurs, it is possible to resume correct decoding at the next I-frame.
The GOP may represent additional frames by providing a much smaller block of digital data that indicates how small portions of the I-frame, referred to as macroblocks, move over time.
An I-frame is typically followed by multiple P- and B-frames in a GOP. Thus, for example, a P-frame occurs more frequently than an I-frame by a ratio of about 3 to 1. A P-frame is forward predictive and is encoded from the I- or P-frame that precedes it. A P-frame contains the difference between a current frame and the previous I- or P-frame.
A B-frame compares both the preceding and subsequent I- or P-frame data. The B-frame contains the average of matching macroblocks or motion vectors. Because a B-frame is encoded based upon both preceding and subsequent frame data, it effectively stores motion information.
Thus, MPEG-2 achieves its compression by assuming that only small portions of an image change over time, making the representation of these additional frames extremely compact. Although GOPs have no relationship between themselves, the frames within a GOP have a specific relationship which builds off the initial I-frame.
The compressed video and audio data are carried by continuous elementary streams, respectively, which are broken into access units or packets, resulting in packetized elementary streams (PESs). These packets are identified by headers that contain time stamps for synchronizing, and are used to form MPEG-2 transport streams. For digital broadcasting, multiple programs and their associated PESs are multiplexed into a single transport stream. A transport stream has PES packets further subdivided into short fixed-size data packets, in which multiple programs encoded with different clocks can be carried. A transport stream not only comprises a multiplex of audio and video PESs, but also other data such as MPEG-2 program specific information (sometimes referred to as metadata) describing the transport stream. The MPEG-2 metadata may include a program associated table (PAT) that lists every program in the transport stream. Each entry in the PAT points to an individual program map table (PMT) that lists the elementary streams making up each program. Some programs are open, but some programs may be subject to conditional access (encryption) and this information is also carried in the MPEG-2 transport stream, possibly as metadata.
The aforementioned fixed-size data packets in a transport stream each carry a packet identifier (PID) code. Packets in the same elementary streams all have the same PID, so that a decoder can select the elementary stream(s) it needs and reject the remainder. Packet-continuity counters may be implemented to ensure that every packet that is needed to decode a stream is received.
Use of digital video recorders (DVRs), also known as personal video recorders (PVRs), such as TiVo and ReplayTV devices, is ubiquitous, which provide conveniences to TV viewers. For example, a prior art DVR allows a user to record his/her favorite TV programs for later review, and exercise a season-pass-like option to record every episode of his/her favorite program for a period. It may automatically record programs for the user based on his/her viewing habit and preferences. The presentation of the recorded programming content can be manipulated by exercising rewind, pause and fast-forward functions (hereinafter referred to as “trick mode” functions) furnished by the DVR. In addition, some prior art DVRs provide a “commercial skip” feature or the like, enabling the user to conveniently skip commercials when viewing recorded programming content.
A prior art DVR also automatically records the last X minutes of programming content played on the channel to which the user actually tunes, where X represents a predetermined value. Thus, if a DVR user is watching an in-progress (or live) broadcast program, the user may rewind the recorded portion of the program to a certain point that has already been broadcast or may pause for subsequent playing, rewinding and/or fast-forwarding.
Recently, some set-top terminals for cable TV were improved to incorporate the above-described DVR functions (“DVR set-top terminals”). For example, like a DVR, a DVR set-top terminal typically includes a hard drive, e.g., a disk, for digitally recording TV programs, in accordance with the DVR functions.
In addition, the cable TV industry has been fervently pursuing a “network PVR (NPVR)” service allowing the user to perform the analogous DVR functions through use of a network, rather than a local DVR device (e.g., a prior art DVR or DVR set-top terminal) at the user premises. In fact, a network architecture and functionalities for implementing the NPVR service have been developed and are described, for example, in copending commonly assigned application Ser. No. 10/302,550, filed on Nov. 22, 2002, which issued on Jul. 4, 2006 bearing U.S. Pat. No. 7,073,189 B2, hereby incorporated by reference. For example, unlike a DVR device, the NPVR service allows a user to “reserve” past and future programs for his/her review, even if such reserved programs were not identified by the user before their broadcast.